Canon LBP-8 A1/A2 Laser Printer Command Summary

The Canon LBP-8 A1/A2 Laser Beam Printer User's Manual, is almost entirely devoid of examples, has a minimal table of contents, and lacks an index. It is barely adequate for developing graphics software (there is a hexadecimal dump of a sample plot file which saves the day), but there is insufficient information in it to make use of the downloaded font mechanism for typesetting applications. Documentation of most commands is unclear, even to the extent that their functionality cannot be determined except by experiment with the printer itself.

Some command codes and arguments have typographical errors in them. Reset Mode on p. 85 lists the last command byte as a digit 1 instead of the letter l, and Interior Style on p. 134 describes argument values of both 0 and 1 as blank; argument value 1 actually produces black.

Without additional Canon documentation that I was able to obtain from colleagues in the laser printer industry, I would have made little progress with it. These cross-reference tables were prepared to assist in the software development. The page number references in these tables are to edition PUB.R-IE-034-V1C 0186B2.5 (1985) of the User's Manual.

Where # is specified, a decimal digit string is expected. <hh> is a single byte with hexadecimal value hh. Otherwise, angle-bracketed upper-case strings are ISO/ASCII 7-bit and 8-bit control character mnemonics.

Where <int>, <enum>, <point>, etc. are given, an encoding of 16 data bits in one to three bytes is expected; see pp. 122–123 of the User's Manual. This encoding is such that the values 0 through 9 coincide with the ASCII digits, characters <30> through <39>. To reduce table entry size, <int>*n is used for n successive <int>'s. The Download Character Set commands have 18 semicolon-separated arguments which are indicated in the tables by ....

8-bit command codes in the range <80> .. <9F> can be expressed in a 7-bit character set as two characters: <1B> <code-40>; thus CSI (<9B>) can be written as <1B> <5B>, or <ESC> [. Number encodings require only 7-bit characters. However, binary data must be encoded in hexadecimal to avoid character codes in <80> .. <FF>. Each dotted command taking binary data has a matching slashed command with hexadecimal data.

Since <CR> and <LF> are significant characters for the Canon printer, they cannot be used to introduce arbitrary line breaks; a command file for a typeset document or a plot may therefore be expected to be one very long line.

The virtual device metafile graphics section of the User's Manual uses <IS1> for <US> and <IS2> for <RS>, the ASCII unit separator and record separator control characters. <IS2> is used as a command terminator, and <IS1> to switch coordinates of the immediately following <point> from relative to absolute. We follow the notation of the User's Manual in the tables.



Subsections